home *** CD-ROM | disk | FTP | other *** search
/ Softwarová Záchrana 3 / Softwarova-zachrana-3.bin / BLAT for Windows / blat222.full.zip / BLAT222 / docs / ChangeLog.txt next >
Text File  |  2004-02-26  |  26KB  |  425 lines

  1. [   Blat ChangeLog Legend:   ]
  2. [ + Added feature            ]
  3. [ * Improved/changed feature ]
  4. [ - Bug fixed (we hope)      ]
  5.  ============================
  6.  
  7. 2.2.2 (2004.02.26)
  8. [-] fixed a bug where a socket was being left open after sending mail.  A break
  9.     instruction in a for() loop needed to be removed, in sendmail.cpp.  Thanks
  10.     go to Tim Musson for the suggestion, and Denis Mikhailitsky for reporting
  11.     it.
  12. [-] fixed a bug in parsing email addresses where the address is 31 bytes long.
  13.     Thanks to Doug Jenkins for reporting this issue.
  14. [-] minor changes to the options list.
  15.  
  16. -------------------------------------------------------------------------------
  17. 2.2.1 (2003.12.20)
  18. [+] more command line options have been allowed for cgi script support, such as
  19.     -debug and -log options.
  20. [+] support a comment character in options files and recipient list files.  The
  21.     command line option for this is -comment <char>, where <char> is the
  22.     character to be used as the start of a comment.  In DOS batch files, this
  23.     would be the semicolon (;), which is the default character in Blat.  In
  24.     Perl scripts, this would be a hash or pound sign (#).  If the comment
  25.     character is found in an options file, or recipients list file, the rest
  26.     of that line will be ignored.  You can use the comment character to add
  27.     comments to your recipients list that would help you remember important
  28.     items about each recipient.
  29. [+] support accessing a POP3 server prior to sending to SMTP.  Use the new
  30.     -installPOP3 to place your server name, login name and password values into
  31.     the registry.  The format of this command line option is:
  32.         blat -installPOP3 servername - - port {profile} loginname password
  33.     The profile in the above line is optional.  If not needed, then replace it
  34.     with a hyphen.  The other hyphens mean those values are not used with
  35.     -installPOP3.  The default value for the port number is 110.
  36.     When Blat wants to send a message to the SMTP server, if a POP3 server has
  37.     been defined for the profile being used, Blat will perform the following
  38.     steps:
  39.         1. Connect to POP3 server.
  40.         2. Send USER xxxx using the user's POP3 login name, wait for +OK.
  41.         3. Send PASS yyyy using the user's POP3 password, wait for +OK.
  42.         4. Send STAT command to get a count of messages, wait for +OK.
  43.         5. Send QUIT, wait for +OK.
  44.     After the Quit is issued, Blat will proceed to send email to the SMTP
  45.     server.
  46.     The requirement for POP3 before SMTP is an attempt by some ISPs to stop
  47.     spam from originating through their service.  They justify this tactic by
  48.     requiring people to have a paid account, but do not enforce any real kind
  49.     of SMTP authentication or tracking.
  50. [+] added -alttext and -alttextf options.  These should be more meaningful
  51.     than -althtml or -htmaltf options.  The latter two take a filename argument
  52.     that contains the plain text to be associated with the intended message
  53.     body.  -Alttext takes text on the command line as its argument,
  54.     while -alttextf takes a filename.  It is my intention to drop -htmaltf
  55.     and -althtml options at some future date.  The usage text already drops
  56.     them both in favor of -alttextf.  The original code to use -althtml was a
  57.     hack, to get something quick for testing.  Changing the name to -alttextf
  58.     seems to be more meaningful and has wider application.
  59.     Please stop using -htmalf and -althtmf, use -alttextf instead because it
  60.     should make this clearer.  The -alttext is new, it accepts text on the
  61.     command line only, like between quotation marks (").  If the pipe character
  62.     is in the text, it will be effected by the -binary option just like it
  63.     would be if used with the -body option.
  64. [+] added -hkcu to -install[SMTP|NNTP|POP3] to place Blat's values into
  65.     HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE.  -hkcu has also been
  66.     added to the -profile -delete command line options to delete Blat's values
  67.     from HKEY_CURRENT_USER.  An example of its use might look like this:
  68.         blat -install server emailaddy -hkcu
  69.     or
  70.         blat -profile -delete -hkcu oldisp oldnntp
  71.     When listing profiles from the registry, if any profiles exist in
  72.     HKEY_CURRENT_USER, Blat will first print "Profile(s) for current user --".
  73.     When listing profiles from HKEY_LOCAL_MACHINE, Blat will first print
  74.     "Profile(s) for all users of this computer --" if it finds there are
  75.     profiles in HKEY_CURRENT_USER.  The -hkcu option is not accepted when
  76.     listing the profiles; it will be ignored if found.
  77. [+] Blat will look for its values in HKEY_CURRENT_USER before it looks in
  78.     HKEY_LOCAL_MACHINE, but will not generate any errors if it cannot find
  79.     profile data in HKEY_CURRENT_USER.
  80. [+] when storing profile data to the registry, if Blat encounters an access
  81.     denied error when trying to use HKEY_LOCAL_MACHINE, Blat will try to store
  82.     the profile data to HKEY_CURRENT_USER.  The purpose for this is to allow
  83.     users of multiuser machines to keep their personal Blat preferences and
  84.     system administrators to put access restrictions on HKEY_LOCAL_MACHINE.
  85.     A request for this came from 'wolfgangbeyer2' on the Blat mailing list.
  86. [*] added "<all>" and "<default>" to -profile -delete, to delete all profiles
  87.     and the default profile, respectively.  Use the quotation marks to ensure
  88.     the < and > characters are included.  Without the quotation marks, Windows
  89.     will interpret these characters as something else.
  90. [*] crtdll.dll will no longer be used by blat.exe.  Instead, Blat will use
  91.     msvcrt.dll after it was discovered that msvcrt.dll is significantly faster
  92.     than crtdll.dll.  According to Microsoft, only Windows 95 was shipped
  93.     without msvcrt.dll.  By this time, Win95 users should have installed this
  94.     .dll as a result of some other program they installed in the intervening
  95.     years.  The speed difference between the two DLLs is most apparent when
  96.     using large amounts of memory.  Otherwise, the size of Blat's executable
  97.     increased by only 512 bytes.
  98. [*] if authentication is required for the server, and no password is given,
  99.     the username will still be sent.  Not all users have a password.
  100. [*] If there is no default profile and the user creates a profile (eg. test),
  101.     there is a possibility Win2K will return garbage in the userid/password
  102.     variables when trying to read the default profile.  Checks were added to
  103.     reg.cpp to look for this condition.  Windows XP does not exhibit this bad
  104.     behavior.
  105. [*] when building headers for attachments, Blat will not include the pathname
  106.     in those headers.  It will now look for the last path delimiter or a colon
  107.     to remove the pathname.  Your recipients do not need to know where you
  108.     store your files.
  109. [*] options for cgi support have been moved out of blatcgi.cpp and into
  110.     options.cpp next to their respective command line names.  This should allow
  111.     new cgi options to be added or turned on easier.  In the process, usage.cpp
  112.     has been removed, the help text moved to options.cpp, so that as new
  113.     command line options are added, the corresponding help text can also be
  114.     added at the same time in the same file.  This will help eliminate adding
  115.     options in one area of Blat and forgetting to add them in another.
  116. [*] allow binary files to be sent as the message body with base64 encoding for
  117.     email systems that do not understand normal attachment rules.  This was
  118.     identified by "mduitz" on the blat mailing list on September 3, 2003.
  119. [*] some minor changes to the usage text, mostly for consistency.
  120. [-] changed "MAIL From:" and "RCPT To:" commands to all uppercase.  These two
  121.     commands have been in Blat as shown since at least 1.9.4.  A problem with
  122.     them appeared recently when a Yahoo proxy program would not accept the
  123.     lowercase versions.
  124. [-] Blat can now send a file as your message body to SMTP and NNTP servers at
  125.     the same time.  Blat used to close the file during the SMTP process, which
  126.     caused the NTNP process to fail.
  127. [-] Blat no longer causes a GPF when quoted header lines exceeds 80 characters.
  128.     Quoted headers has been improved.  Please test this very thoroughly and
  129.     report any issues you find.  Credit goes to Pavel Savara from the Czech
  130.     Republic for finding this issue.
  131. [-] the requirement for quoted headers has been relaxed a bit, in case all the
  132.     characters are lower ASCII.  Bert/blatax pointed out on the Blat mailing
  133.     list that his ancient fax software was not able to accept quoted subject
  134.     lines.
  135. [-] fixed the command line parsing for blat.dll so it can accept a single
  136.     backslash (\) character as a path delimiter, just as the blat.exe command
  137.     line does.
  138. [-] when sending to a long list of email addresses, Blat will not GPF.  The GPF
  139.     was caused if the length of the email addresses exceeded 8190 bytes.  Tim
  140.     Kustner found this issue on October 16.
  141. [-] fixed a bug that resulted from a cut/paste operation, then forgetting to
  142.     remove an argument to a function.  It causes no stability issues, but when
  143.     viewing the received email it was noticed the charset= said html instead of
  144.     ISO-8859-1.
  145. [-] added the -delay option to the usage text.
  146. [-] the first command line option for blat.exe must be a hyphen or a filename.
  147. [-] blat has been tested with IIS6 under Windows 2003 Server, and is now
  148.     working after a few minor changes to how variables are defined internal to
  149.     blat source code.
  150. [-] when blat is run from other applications, blat will return back gracefully.
  151.     In previous versions, blat would issue a hard exit when it processed a
  152.     -install or -profile command, which caused the calling program to exit.
  153.  
  154. -------------------------------------------------------------------------------
  155. 2.2.0 (2003.09.17)
  156. [+] attempt to support binarymime.  If the SMTP indicates 250-BINARYMIME, and
  157.     the message is using quoted-printable mime, then only two bytes will be
  158.     converted to quoted-printable: the equals sign (=), and binary zero.  All
  159.     other byte values will be sent as-is.
  160. [+] add Message-ID: to the headers.
  161. [+] add support for -delay <seconds> to pause between messages when using
  162.     the -maxnames option or when sending multipart messages.  It is used only
  163.     for sending mail, not for posting to newsgroups.
  164. [+] add support for -maxnames <count> to send messages to blocks of <count>
  165.     recipients.  This is useful for home-based email lists with restrictions
  166.     from their ISP on how many names can be sent to per message.  It does not
  167.     change the To: or Cc: lines in the message, it only changes how many RCPT
  168.     names are sent to the SMTP server.
  169. [+] support for alternative plain text messages has been added.  Use the
  170.     -htmaltf <filename> option to specify a plain text file that should be used
  171.     with your HTML message.  Recipients who do not have html email support will
  172.     see the plain text.  Others will see the HTML.
  173. [*] when adding a new profile, the opposite server (SMTP v NNTP) will not be
  174.     created at the same time.  If creating a new SMTP profile, NNTP server
  175.     information will not be created in the registry.  If creating a new NNTP
  176.     profile, SMTP server info will not be created.
  177. [-] fixed a bug that prevented binary files being sent as the message body.  To
  178.     send binary files as the body of a message, the -uuencode or -base64 option
  179.     must be used.  For example: blat binfile.exe -to me -s test -base64.
  180.  
  181. -------------------------------------------------------------------------------
  182. 2.1.1 (2003.08.13)
  183. [*] removed support for gwinsock.dll and gensock.dll, since that functionality
  184.     is built into blat.
  185. [*] when using the -profile option to list available profiles, quotation marks
  186.     (") will be surround the email address, just in case a people name is used
  187.     with it.
  188. [-] one global and one static buffer variables are now being initialized /
  189.     cleared properly in the .DLL.
  190. [-] parsing email addresses was causing memory to be corrupted if the list of
  191.     email addresses did not include people names.
  192. [-] when checking options for missing arguments, check each argument against
  193.     the list of known options and stop if one is found.  This will allow
  194.     hyphens to be used at the beginning of arguments if those arguments are
  195.     not also known option names.  For example,
  196.         blat - -body "-testing-" -s "subject matter" -to me.
  197. [-] userid/password variables cleared if there is an error reading these
  198.     values from the registry.  In this condition, Win2K placed garbage in
  199.     these variables, while WinXP does not.
  200.  
  201. -------------------------------------------------------------------------------
  202. 2.1.0 (2003.07.22)
  203. [+] lite version selectable with a compile option.
  204. [+] add support for comma delimited filenames with -attach or -attacht or
  205.     -embed.  For example, -attach *.jpg,*.gif
  206. [+] support for signature files.  Blat will include the '-- '.  Use the new
  207.     option '-sigfile' or '-sig' followed by a filename.
  208. [+] support for a random tagline through a compile-time switch.  Use '-tag'
  209.     or '-tagfile' followed by a filename.  This file must be text.  Each
  210.     tagline must be on a single line.  To have line breaks in the outgoing
  211.     email, use "\n" in the text.  For example: "This is a line break.\nChip"
  212.     would become
  213.         This is a line break.
  214.         Chip
  215. [+] support for postscript lines (PS.), like instructions for how to
  216.     unsubscribe from a mailing list.  Use the option '-ps' followed by a
  217.     filename.
  218. [+] support for automatic detection of salutations.  When an email address for
  219.     the -to option has text that follows the '>', this is used as a salutation
  220.     for the message body.  If the salutation has a comma, the text must be
  221.     surrounded with quotation marks.
  222.     For example: blat file -to "Chip <nul@localhost> \"Dear Chip,\"" In this
  223.     example, the "Dear Chip," will be the first line of the message, which will
  224.     be sent to "Chip <nul@localhost>".  Please notice the \ before each
  225.     quotation mark, this is to tell the command line parser to keep the next
  226.     character.  The two quotation marks at the end are for delimiting the
  227.     salutation, and for delimiting the whole name/email/salutation text.  If
  228.     the salutation does not have a comma, then you do not need an extra pair
  229.     of quotation marks.
  230.     Salutation support does not work with -cc or -bcc names.
  231. [+] support for the 250-pipelining option at compile time.  The net effect is
  232.     to increase the .exe size by 1K without gaining anything useful at runtime.
  233.     In other words, do not bother with it.
  234. [+] multipart message support at compile time.  When the sum size of
  235.     attachments exceeds the server's maximum message size, or the size
  236.     pecified with the -mps/-multipart option, each attachment will be sent in
  237.     a separate message, split as necessary.  The resulting messages can be
  238.     ieced back together by client software that is aware of multipart messages
  239.     (see RFCs 1341 and 2046).  To make this work, messages will be sent encoded
  240.     with UUEncode (default) or yEnc (user selected).
  241. [+] support for -embed option, used with sending html with embedded images and
  242.     other ojects into the message.  Usage is:
  243.         -embed <filenames>
  244. [*] -plain removed since the SMTP server responses are now parsed properly,
  245.     and the AUTH options recognized.
  246. [*] -penguin with attachments only works when using -uuencode or -yenc, and
  247.     then only when all attachments can be sent in a single message.
  248.     Multipart messages and -base64 will cancel -penguin.
  249. [*] modular source files.
  250. [*] .rc changes from Tim Musson.
  251. [*] authorization will now look for "PLAIN" and "LOGIN" options to the
  252.     "250-AUTH" response from the EHLO command.  This should eliminate the need
  253.     for -plain command line option.
  254. [*] when the server rejects a recipient address, blat will continue until all
  255.     the recipients have been checked.  The log will reflect errors for all bad
  256.     recipient addresses.  The server's actual error message will be listed with
  257.     each address.  In some cases, it may be necessary for the user to supply
  258.     -u/-pw options to authenticate themselves to the server.
  259. [*] blat's title line will be put into the log file as well as printed to the
  260.     screen, to make it easier to identify which version built which part of
  261.     the log.
  262. [*] the chosen/default character set will be included in message headers as a
  263.     separate line item.
  264. [-] supply '<' and '>' surrounding the email address for the "Mail from:"
  265.     command sent to the SMTP server.  Some servers require this, while others
  266.     do not.
  267. [-] newsgroups will be listed in the "Sending to..." message when sending to
  268.     NNTP.  The message used to list SMTP recipients if present.
  269. [-] error logging fixed so SMTP server information prefetch ruotines do not
  270.     halt the program prematurely.
  271. [-] dll Send() function now exported.
  272. [-] SMTP and NNTP authorization now account for slow servers, and does not
  273.     issue empty AUTH/AUTHINFO commands.  It was found that when a server issues
  274.     the welcome line, it may not include the remaining "250-" option messages
  275.     immediately.  One server in particular delayed sending the rest of the
  276.     multiline response for about 1/2 second (500ms).  If a multiline response
  277.     is received, blat will now wait up to one second for the rest of the
  278.     response before timing out and processing what it received.
  279. [-] -a1 and -a2 support has been put back in, except that these user defined
  280.     custom headers will be added _after_ the regular headers instead of before
  281.     the regular headers.  Prior versions placed these custom headers at the
  282.     beginning, but this could be used for spamming by allowing forged header
  283.     lines.  Placing the custom header lines at the end of the list reduces the
  284.     chances that a spammer will use Blat successfully.
  285. [-] error values are now being properly returned for processing after blat
  286.     exits.
  287.  
  288. Special notes for version 2.1.0:
  289. When multipart support is enabled at compile time, the following conditions
  290. will exist when sending attachments.
  291.  
  292. 1. If the combined size of the message and all attachments exceeds the maximum
  293.    size allowed for the SMTP server, or the size specified by the -mps option
  294.    (for SMTP or NNTP), then each attachment will be sent in a separate message
  295.    with its name added to the subject line.  If an attachment itself is too
  296.    large for a single message, the attachment will be sent in a series of
  297.    messages, with the subject line showing each part in the series.
  298.  
  299.    The format of the subject line will be:
  300.    subject_text {file xx of yy} {yEnc} filename [aa/bb]
  301.  
  302.    xx of yy shows which file this is (xx) out of the total (yy).
  303.        If there is only one file to send, this text will not be added to the
  304.        subject line.
  305.  
  306.    aa/bb shows this part is (aa) of how many parts (bb).
  307.        If there only one part (single message), this text will not
  308.        be added to the subject line.
  309.  
  310.    yEnc is included when the attachments are encoded with yEnc.
  311.  
  312.    This is useful when you know the intended recipient has trouble receiving
  313.    attachments, such as my friend who lives on a farm miles/kilometers from
  314.    town.
  315.  
  316. 2. When the combined size of all attachments plus the message body is less than
  317.    the maximum size allowed by the SMTP server, or less than the size specified
  318.    by the -mps option, then a single message with all attachments will be sent
  319.    without adding the attachment names to the subject line.  This is in keeping
  320.    with previous versions of Blat.
  321.  
  322. 3. When you want to force the attachment filename into the subject line, use
  323.    -mps with a size value that is less than the total size of all attachments
  324.    to be sent.
  325.  
  326. 4. Sending a single attachment may not put that attachment's name into the
  327.    subject line, unless it meets #1 above.
  328.  
  329. It is recommended that you use -yenc only when you know the recipient has a
  330. mail reader with yEnc support built in.  Outlook and Outlook Express do not
  331. support yEnc attachments.
  332.  
  333. With the changes to attachment support, Blat will not send a zero length file.
  334. Blat will not send files that exceed 4G bytes.  If the total size of all
  335. attachments exceeds 4G bytes, Blat will exit.
  336.  
  337. Prior versions of Blat would load all attachments into memory before sending
  338. the message.  In this version, with multipart support enabled, when the
  339. combined size of all attachments meets criteria #1 above, Blat will load only
  340. as much of each attachment as it needs to send an individual message.  This
  341. could result in lower memory use by Blat.
  342. -------------------------------------------------------------------------------
  343. 2.0.1 (2003.06.29)
  344. [+] -ua to include User-Agent: header line instead of X-Mailer:
  345. [+] yEnc for attachments as a compile time option.  A separate set of binaries
  346.     has been provided.
  347. [*] option parsing has been improved to catch malformed options easier.
  348. [*] blat only displays full help with the -h switch, but if other switches are
  349.     malformed, it lists the first one it had a problem with. Yes, you can send
  350.     this to the log also!
  351. [*] parsing of email addresses has been moved to its own function, to make it
  352.     easier to call for the Mailfrom: and RCPT: server commands.
  353. [*] Content-description: header line for newsgroups will now say "News message
  354.     body" instead of "Mail message body" when appropriate.
  355. [-] when sending to newsgroups with yEnc attachments, the
  356.     Content-Transfer-Encoding: will say "8BiT" instead of "7BIT".
  357. [-] Before exiting the program, if a log file is open, an "End of Session"
  358.     message will be written.
  359. -------------------------------------------------------------------------------
  360. 2.0.0 (2003.06.26)
  361. [*] New order for the syntax output when running Blat with no parameters.
  362. [+] -of <filename> : text file containing more options (also -optionfile)
  363. [+] -ss : suppress subject line if not defined
  364. [+] -charset <cs> : user defined charset. The default is ISO-8859-1
  365. [+] -hdrencb : use base64 for encoding headers, if necessary
  366. [+] -hdrencq : use quoted-printable for encoding headers, if necessary
  367. [-] When building headers, certain fields were being fixed to conform to RFC
  368.     standards. The fixes were implemented in place, which could have caused
  369.     problems if blat is used to send smtp and nntp at the same time. This has
  370.     been corrected.
  371. [*] The encoder routines have been modified to use Buf constructs instead of
  372.     relying on malloc(). The Buf construct will automatically issue malloc() as
  373.     needed.
  374. [*] One routine was consolidated into its only caller, for minor efficiency.
  375.     This was done for the -sf option.
  376. [*] The various encoder routines have been moved to the top of the file, to
  377.     eliminate the predefinitions of these routines. This also made it much
  378.     easier to implement Buf style parameter passing along side char*
  379.     parameters. C++ allows function overloading, so the quoted-printable and
  380.     base64 encocders have been overloaded to facilitate buffer encoding versus
  381.     header line encoding.
  382. [*] If no recipient email addresses and no newsgroups are specified, an error
  383.     message is displayed and the program aborts.
  384. [*] Extra carriage returns and line feeds in the log file have been removed by
  385.     scanning the resulting string for duplicate line feeds.
  386. [*] The timestamp delimiter line has been put back in, with a new format to say
  387.     "Start of Session/End of Session".
  388. [+] -timestamp : when -log is used, a timestamp is added to each log line
  389. [+] -binary : do not convert ASCII | (pipe, 0x7c) to CrLf in the message body
  390. [*] Blatcgi now knows 'ORGANIZATION' and 'CHARSET' values.  The original code
  391.     knew 'ORGANISATION', now the US spelling has been added.
  392. [+] -dsn to request a change in default delivery status notification behavior.
  393.     The default behavior is to receive a notification for all failed and
  394.     delayed deliveries. -dsn allows this to change so only the status
  395.     notifications you want will be sent back, if at all.  The available options
  396.     for this are: n (never), s (successful), f (failed), and d (delayed).
  397.     These can be used in any combination, but n will always take precedence.
  398. [+] -installSMTP to install SMTP related server information.  This is a
  399.     duplicate of -install option.
  400. [+] -installNNTP to install NNTP related server information.  This has the same
  401.     syntax and format as -install, but this information is strictly for NNTP
  402.     servers.
  403. [+] -groups <usenet groups> : list of newsgroups (comma separated)
  404. [+] Added support for storing user login and password information into the
  405.     registry. These two fields will be encoded with base64 just to make it
  406.     unreadable from casual viewing of the registry. This allows a user to
  407.     remove these cleartext values from their batch files.
  408. [-] -uuencode applies to attachments, not to the message body.
  409. [+] yEnc has been added to use this encoding scheme for binary attachments. It
  410.     will likely only work for systems that fully support 8-bit data since there
  411.     is no provision to support 7-bit data streams in the protocol. There is a
  412.     failsafe check that if the SMTP server does not explicitely state 8bitmime,
  413.     then yEnc will be disabled for that email message. This has no effect on
  414.     NNTP traffic, yet. NNTP impact will have to be investigated a little
  415.     further to see if there is an equivalent EHLO command to give back extended
  416.     option support messages.
  417. [*] -charset does not require -mime for it to take effect.
  418. ===============================================================================
  419. See changes-194.txt (or http://www.blat.net?changes-194.txt) for older changes.
  420. ===============================================================================
  421.       (2003.06.15)
  422. [*] Moved to http://www.blat.net at SourceForge.net, managed by Tim Musson,
  423.     coded by many (credit given where due...)
  424. -------------------------------------------------------------------------------
  425.